Linuxin haku on monipuolinen ja senvuoksi vaikea hallita. Sen käyttö helpottuu kun sen määrää vertaamaan haettavaa hakusanaan tulkitsematta erikoismerkkejä. Tällainen toimintatapa riittää useissa tapauksissa. Sen käyttö on seuraavanlaista: 

grep -hrF etsittävä mistä_etsitään   Antaa tuloksenaan niiden tiedostojen joukon joista etsitty löytyy. Esimerkiksi kun haetaan merkkiryhmää: [[ $1 ]] niin
                                     tämä etsintä määrätään yksinkertaisesti :  grep -hrF '[[ $1 ]]' /home  . Rajoittamattomana hakuna tuo määrittely on:   
                                     grep -hrE '\[\[\ \$1\ \]\]' /home . 
grep -lrF etsittävä mistä_etsitään   Antaa tuloksenaan niiden lauseiden joukon joista etsitty löytyy
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Rajoittamatonta hakua on pakko käyttää kun tarvitaan joustavuutta; silloin hakusanoissa olevat erikoismerkkit tulkitaan kuten Linux ne tulkitsisi ellei niiden edessä ole merkkiä \ . Esimerkiksi $ on muuttujan edessä, * ja . tulkitaan jokerimerkeiksi jne. Ainoastaan kytkmestä poistetaan F, muuten toiminta on sama. 
          |
Etsittävä V
'viisi numeroa'    kun etsittävässä on välilyöntejä laitetaan se heittomerkkien väliin 
'. tr .'           kun haluat painottaa että ennen etsittävää on välilyönti ja perässä myös; tässä etsitään käskyä tr
grep.*lr           kun etsittävän osia erottaa tuntematon määrä merkkejä ( .* paikalla ei täydy välttämättä olla mitään. Etsittävien tulee olla samalla rivillä)
^grep              kun halutaamn painottaa että etsittävä on rivin alussa
kolmio.$           kun halutaan painottaa että etsittävä on rivin lopussa  ( siis ^$ on tyhjä rivi ) 
[abc]-ajokortti    kun halutaan löytää kaikki paikat joissa puhutaan a-,b- tai c-ajokorteista, mutta e-ajokortit saa jäädä löytymättä
[a-e]-ajokortti    kun halutaan löytää ne kaikki
\$dollari          kun etsittävässä on erikois-merkityksen omaava merkki jolla kuitenkin on normaali aakkos-merkitys niin kun sen eteen kirjoitetaan \
'[0-9]\{5\}'       kun etsitään sanaa jossa on viisi numeroa (numerossa on merkit 0-9; siis etumerkistä ei välitetä) 
[\ e]grep          kun halutaan löytää grep ja egrep, mutta muita grepejä ei 
 
haettavien erikoismäärityksiä (merkkiluokkasyntaksi ?):
[:alnum:]->[A-Za-z0-9]. Yleensä nämä täytyy laittaa hakusanassa kaksinkertaisiin sulkuihin: grep [[:digit:]] test.file
[:alpha:]->[A-Za-z]     [:blank:]->välilyönti tai TAB    [:cntrl:]->jokin kontrollimerkki     [:digit:]->[0-9]     [:graph:]->ASCII 33 - 126.
[:lower:]->[a-z]    [:print:]->ASCII 32 - 126 ja lisäksi välilyönti    [:space:]->välilyönti ja 'pystysuora TAB'   [:upper:]->[A-Z] 
[:xdigit:]->[0-9A-Fa-f].

pilkku menettää erikoismerkityksensä hakusanan viimeisenä merkkinä.
^ menettää erikoismerkityksensä ellei se ole ensimmäinen merkki 
useimmat erikoismerkit menettävät erikoismerkityksensä merkkien [] välissä.

grepin kytkimet:
-r  etsitään rekursiivisesti                          -s  ei anneta varoitusviestejä                      -c  vain löytöjen lukumäärä tulostetaan 
-h  tulostaa sen tekstirivin jolta etsitty löytyy     -w  oleta etsittävän alkuun ja loppuun \< ja \>     -v  poista hakutuloksista ne joissa etsitty on osana   
-l  tulostaa sen tiedoston nimen josta etsitty löytyy -n  tulostaa myös miltä riviltä etsitty löytyi      -i etsittäessä ei huomioida kirjainkokoa     
-F  etsitään kirjaimiltaan juuri sellaista mikä etsittäväksi määrättiin 
-E  ota käyttöön laajennoksia, mm. \ ei tarvita; siis esimerkiksi kun etsit "placeholdereita" niin etsittävä on: grep -lrE {} mistä_etsittään
- jostain syystä kun etsii ilmaisua: -exec kirjoitetaan hakusana: \\-exec

jälkihuomautuksia:
- usein tuloksia tulee niin paljon että niistä olisi kiva poistaa turhia. Esimerkiksi ensimmäisen haun perään voi lisätä: | grep -vE '(binääri|.*)'
- haut ovat yleensä tosinopeita, mutta jotkut haut saattaa kestää pitkään kuten esimerkiksi haku:  grep -hr '[0-9]\{24\}' hakupaikka     
- kun etsit löytyykö joku ilmaisu skriptien nimistä niin käsky onkin: find mistä |  grep "mikä sana löydetyissä pitäisi olla"
                                                    siis esimerkiksi: find /home |  grep "haku"                 
- en näitä hakuja oikein hallitse ja keskenkin tämä on - ilmanmuuta ohjeessa on paranneltavaa monessakin asiassa


